package com.tedu.springdemo.day04;

import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

/**
 * @PostConstruct   注解： 方法初始化【优先执行】
 * @PreDestroy      注释： 方法销毁【最后执行】
 */
@Lazy   //如果没有写@Scope,默认单例模式,这个类需要延迟加载：懒加载
@Scope("prototype")     //执行：多列模式
@Component
public class UserDao {
    @PostConstruct
    //1.链接数据库【先执行】  2.数据操作
    public void myInit(){
        System.out.println("获取数据库链接。。。");
    }
    //2.数据操作--创建用户，修改用户
    public void addUser(){
        System.out.println("创建新用户。。。");
    }
    public void updateUser(){
        System.out.println("修改用户信息");
    }
    //3.销毁数据库的链接
    @PreDestroy
    public void myDestroy(){
        System.out.println("释放数据库");
    }
}
